<?php

namespace maotool\file;

use PhpZip\Exception\ZipException;
use PhpZip\ZipFile;

/**
 * https://packagist.org/packages/nelexa/zip
 */
class ZipUtil
{

    /**
     * 创建空的打包文件
     * @param $path $ 打包文件位置
     * @return void
     */
    public static function create($path)
    {
        $zipFile = new ZipFile();
        try {
            $zipFile
                ->saveAsFile($path)
                ->close();
        } catch (ZipException $e) {
            $zipFile->close();
        }
    }

    /**
     * 追加文件
     * @param $addFile $ 准备打包目录
     * @param $targetFile $ 打包文件位置
     * @return void
     */
    public static function addFile($path, $addFile, $targetFile)
    {
        $zipFile = new ZipFile();
        try {
            $zipFile->openFile($path)
                ->addFile($addFile, $targetFile)
                ->saveAsFile($path)
                ->close();
        } catch (ZipException $e) {
            $zipFile->close();
        }
    }

}